home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 20 / Cream of the Crop 20 (Terry Blount) (1996).iso / program / n_b_v203.zip / MASK-CLR.DMO < prev    next >
Text File  |  1996-07-04  |  7KB  |  115 lines

  1. $if 0
  2.     ┌──────────────────────────╖                        PowerBASIC v3.20
  3.  ┌──┤          DASoft          ╟──────────────────────┬──────────────────╖
  4.  │  ├──────────────────────────╢    Copyright 1995    │ DATE: 1995-10-01 ╟─╖
  5.  │  │ FILE NAME   MASK-CLR.DMO ║          by          ╘════════════════─ ║ ║
  6.  │  │                          ║  Don Schullian, Jr.                     ║ ║
  7.  │  ╘══════════════════════════╝                                         ║ ║
  8.  │ A license is hereby granted to the holder to use this source code in  ║ ║
  9.  │ any program, commercial or otherwise,  without receiving the express  ║ ║
  10.  │ permission of the copyright holder and without paying any royalties,  ║ ║
  11.  │ as long as this code is not distributed in any compilable format.     ║ ║
  12.  │  IE: source code files, PowerBASIC Unit files, and printed listings   ║ ║
  13.  ╘═╤═════════════════════════════════════════════════════════════════════╝ ║
  14.    │                ....................................                   ║
  15.    ╘═══════════════════════════════════════════════════════════════════════╝
  16.   A color mask requires some REAL hard thinking because of how the VGA data
  17.   is laid out! It simply got to be too much for me so I decided to let the
  18.   computer do it for me (not to mention that I had a whole group of mono-
  19.   chrome masks going to waste:). fColorMask$ takes a monochrome mask and
  20.   expands it into a 2color mask. Some of them produce startling effects when
  21.   the colors are mixed just right!
  22.  
  23.   Try the 50% grey mask with different color combos!
  24. $endif
  25.  
  26. '.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°
  27. ' ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° °
  28.                                                '┌────────────────────────────
  29. $INCLUDE "DAS-NB01.INC"                        '│
  30. $INCLUDE "DAS-NBV1.INC"                        '│
  31. $INCLUDE "DAS-NBV2.INC"                        '│
  32.                                                '│
  33. CLS                                            '│ set-up the VGA screen
  34. SCREEN 12                                      '│ MONOCHROME
  35. GraphicSETUP                                   '│
  36.                                                '│
  37. DIM M$(94)                                     '│ mask names
  38. FOR X% = 1 TO 94                               '│ read data
  39.   READ M%                                      '│
  40.   READ M$(M%)                                  '│
  41.   M$(M%) = "N° ## " + fJustLeft$(M$(M%),15,32) '│
  42. NEXT                                           '│
  43. DIM Colour$(15)                                '│ color names
  44. FOR X% = 0 TO 15                               '│
  45.   READ Colour$(X%)                             '│
  46. NEXT                                           '│
  47. LOCATE 13, 1 : PRINT "Foreground:"             '│
  48. LOCATE 14, 1 : PRINT "Background:"             '│
  49. GBoxDRAW  0, 16, 191, 191, 0, 3, 15            '│ draw
  50.                                                '│
  51. X% = 1                                         '│ start here
  52. F? = 1                                         '│ Foreground color
  53. B? = 9                                         '│ Background color
  54. DO                                             '│
  55.   Mask$ = fMonoMask$( X% )                     '│ get mask data
  56.   Mask$ = fColorMask$( Mask$, F?, B? )         '│ create color mask
  57.   LOCATE 01, 1 : PRINT USING M$(X%); X%        '│ report which mask
  58.   LOCATE 13,13 : PRINT Colour$(F?)             '│ report colors
  59.   LOCATE 14,13 : PRINT Colour$(B?)             '│
  60.   GBoxCOLOR 1, 17, 190, 190, 0                 '│ clear box
  61.   PAINT ( 1, 17 ), Mask$, 15                   '│ put the mask
  62.   SELECT CASE fAnyKey$                         '│ a simple menu
  63.     CASE CHR$(027) : EXIT LOOP                 '│ <ESC>  bail out
  64.     CASE CHR$(0,72) : X% = MAX(  1, X%-1 )     '│ <UP>   mask UP
  65.     CASE CHR$(0,80) : X% = MIN( 94, X%+1 )     '│ <DOWN> mask DOWN
  66.     CASE CHR$(0,71) : F? = MAX(  0, F?-1 )     '│ <HOME> foreground UP
  67.     CASE CHR$(0,79) : F? = MIN( 15, F?+1 )     '│ <END>  foreground DOWN
  68.     CASE CHR$(0,73) : B? = MAX(  0, B?-1 )     '│ <PGUP> background UP
  69.     CASE CHR$(0,81) : B? = MIN( 15, B?+1 )     '│ <PGDN> background DOWN
  70.   END SELECT                                   '│
  71. LOOP                                           '│
  72.                                                '│
  73. PALETTE : SCREEN 0 : END                       '│ a clean exit
  74.                                                '└────────────────────────────
  75.  
  76.  
  77. ' these ended-up in no special order???
  78.  
  79. DATA 01, "05% GREY",      16, "BOX _& O(I)",    31, "GRID 1I"
  80. DATA 46, "LINES 5DI",     02, "10% GREY",       17, "BOXES"
  81. DATA 32, "GRID 2",        47, "LINES 6D",       03, "25% GREY"
  82. DATA 18, "BOXES(I)",      33, "GRID 2I",        48, "LINES 6DI"
  83. DATA 04, "50% GREY",      19, "BRICKS",         34, "HERRING BONE"
  84. DATA 49, "LINES 7D",      05, "60% GREY",       20, "BRICKS(I)"
  85. DATA 35, "ICECUBES",      50, "LINES 7DI",      06, "75% GREY"
  86. DATA 21, "CHAINS(H)",     36, "ICECUBES (I)",   51, "LINES 8D"
  87. DATA 07, "BACKGROUND 1",  22, "CHAINS(HI)",     37, "LINES 1H"
  88. DATA 52, "LINES 8DI",     08, "BACKGROUND 1I",  23, "CHAINS(V)"
  89. DATA 38, "LINES 1V",      53, "O's",            09, "BACKGROUND 2"
  90. DATA 24, "CHAINS(VI)",    39, "LINES 2H",       54, "O's (I)"
  91. DATA 10, "BACKGROUND 2I", 25, "CHECKER 1",      40, "LINES 2V"
  92. DATA 55, "PATTERN 1",     11, "BACKGROUND 3",   26, "CHECKER 2"
  93. DATA 41, "LINES 3H",      56, "PATTERN 1I",     12, "BACKGROUND 3I"
  94. DATA 27, "CHECKER 3",     42, "LINES 3V",       57, "PATTERN 2H"
  95. DATA 13, "BACKGROUND 4",  28, "CHECKER 4",      43, "LINES 4H"
  96. DATA 58, "PATTERN 2V",    14, "BACKGROUND 5",   29, "CHECKER 5"
  97. DATA 44, "LINES 4V",      59, "PATTERN 3",      15, "BOX _& O"
  98. DATA 30, "GRID 1",        45, "LINES 5D",       60, "PATTERN 3I"
  99. DATA 61, "PATTERN 4I",    76, "TURK SCREEN(I)", 91, "DOUBLE KNIT2"
  100. DATA 62, "PATTERN 5",     77, "TVs   ",         92, "MEANDER"
  101. DATA 63, "PATTERN 5I",    78, "ZIG-ZAG 1H",     93, "SHOGUN"
  102. DATA 64, "PATTERN 6D",    79, "ZIG-ZAG 1HI",    94, "TUCK _& ROLL"
  103. DATA 65, "PATTERN 7DI",   80, "ZIG-ZAG 1V",     66, "PATTERN 8D"
  104. DATA 81, "ZIG-ZAG 1VI",   67, "PATTERN 8DI",    82, "ZIG-ZAG 2H"
  105. DATA 68, "PATTERN 4",     83, "ZIG-ZAG 2HI",    69, "RAINDROPS"
  106. DATA 84, "ZIG-ZAG 2V",    70, "RAINDROPS (I)",  85, "ZIG-ZAG 2VI"
  107. DATA 71, "SCALES",        86, "WICKER WORK 1",  72, "SCALES (I)"
  108. DATA 87, "WICKER WORK 2", 73, "TARTAN WEAVE",   88, "WEAVE"
  109. DATA 74, "TARTAN (I)",    89, "WEAVE (I)",      75, "TURK SCREEN"
  110. DATA 90, "DOUBLE KNIT 1"
  111.  
  112. DATA "BLACK    ", "BLUE     ", "GREEN    ", "CYAN     "
  113. DATA "RED      ", "MAGENTA  ", "BROWN    ", "LtGREY   "
  114. DATA "DkGREY   ", "LtBLUE   ", "LtGREEN  ", "LtCYAN   "
  115. DATA "LtRED    ", "LtMAGENTA", "YELLOW   ", "WHITE    "